package com.xinsoft.entity.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 生产计划
 **/
@Data
public class ErpProductionPlanVO {

    @ApiModelProperty()
    private Long id;

    @ApiModelProperty(value = "源单类型")
    private String sourceTypeName;

    @ApiModelProperty(value = "来源单ID")
    private Long sourceId;
    //来源单号
    @ApiModelProperty(value = "来源单号")
    private String sourceNo;
    // 计划单号
    @ApiModelProperty(value = "计划单号", hidden = true)
    private String planNo;

    @ApiModelProperty(value = "产品ID", required = true)
    private Integer materialId;

    /**
     * 物料编码
     */
    private String materialNo;

    /**
     * 规格属性
     */
    private String materialSpecific;

    @ApiModelProperty(value = "产品Name", required = true)
    private String materialName;

    @ApiModelProperty(value = "生产部门", required = true)
    private Integer proDept;

    @ApiModelProperty(value = "生产部门Name", required = true)
    private String proDeptName;
    // 计划生产数量
    @ApiModelProperty(value = "计划生产数量", required = true)
    private BigDecimal planCount;

    // 批号
    @ApiModelProperty(value = "批号")
    private String batchNo;
    // 计划开始时间
    @ApiModelProperty(value = "计划开始时间", required = true)
    private Date planStartTime;
    // 计划完工时间
    @ApiModelProperty(value = "计划完工时间", required = true)
    private Date planEndTime;

    @ApiModelProperty(value = "BOMID", required = true)
    private Integer bomId;

    @ApiModelProperty(value = "bomName", required = true)
    private String bomName;
    // 完工上限
    @ApiModelProperty(value = "完工上限")
    private BigDecimal completionMax;
    // 完工下限
    @ApiModelProperty(value = "完工下限")
    private BigDecimal completionMin;
    // 客户ID
    @ApiModelProperty(value = "客户ID")
    private Long clientId;
    // 客户ID
    @ApiModelProperty(value = "客户名称")
    private String clientName;
    // 交货期
    @ApiModelProperty(value = "交货期")
    private Date deliveryDate;

    @ApiModelProperty(value = "下达时间", hidden = true)
    private Date giveTime;

    @ApiModelProperty(value = "结案时间（实际完成时间）", hidden = true)
    private Date actualFinishTime;

    @ApiModelProperty(value = "审核人员", hidden = true)
    private Long auditor;
    // 创建人
    @ApiModelProperty(value = "创建人", hidden = true)
    private Long createBy;
    // 创建时间
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;
    // 修改时间
    @ApiModelProperty(value = "修改时间", hidden = true)
    private Date updateTime;
}
